public class prog {
    psvm
}
///**
// * Definition for singly-linked list.
// * public class ListNode {
// *     int val;·
// *     ListNode next;
// *     ListNode(int x) {
// *         val = x;
// *         next = null;
// *     }
// * }
// */
//import java.util.*;
//public class Solution {
//    public ListNode mergeKLists(ArrayList<ListNode> lists) {
//        if(lists.size()==0){
//            return null;
//        }
//        ListNode head=lists.get(0);
//        for(int i=1;i<lists.size();i++){
//            head=mergeTwo(head,lists.get(i));
//        }
//        return head;
//    }
//    public ListNode mergeTwo(ListNode head,ListNode cur){
//        if(head==null){
//            return cur;
//        }
//        if(cur==null){
//            return head;
//        }
//        if(head.val>cur.val){
//            cur.next=mergeTwo(head,cur.next);
//            return cur;
//        }
//        else{
//            head.next=mergeTwo(head.next,cur);
//            return head;
//        }
//    }
//}










//链表内指定区间反转
//import java.util.*;
//
///*
// * public class ListNode {
// *   int val;
// *   ListNode next = null;
// * }
// */
//
//public class Solution {
//    /**
//     *
//     * @param head ListNode类
//     * @param m int整型
//     * @param n int整型
//     * @return ListNode类
//     */
//    public ListNode reverseBetween (ListNode head, int m, int n) {
//        // write code here
//        ListNode newhead=new ListNode(-1);
//        newhead.next=head;
//        ListNode cur=newhead;
//        for(int i=1;i<m;i++){
//            cur=cur.next;
//        }
//        ListNode prev=cur.next;
//        for(int i=m;i<n;i++){
//            ListNode curnext=prev.next;
//            prev.next=curnext.next;
//            curnext.next=cur.next;
//            cur.next=curnext;
//        }
//        return newhead.next;
//    }
//}










//链表的奇偶重排
//import java.util.*;
///*
// * public class ListNode {
// *   int val;
// *   ListNode next = null;
// *   public ListNode(int val) {
// *     this.val = val;
// *   }
// * }
// */
//
//public class Solution {
//    /**
//     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
//     *
//     *
//     * @param head ListNode类
//     * @return ListNode类
//     */
//    public ListNode oddEvenList (ListNode head) {
//        // write code here
//        ListNode newhead1=new ListNode(-1);
//        ListNode newhead2=new ListNode(-1);
//        ListNode cur1=newhead1;
//        ListNode cur2=newhead2;
//        while(head!=null&&head.next!=null){
//            cur1.next=head;
//            cur2.next=head.next;
//            cur1=cur1.next;
//            cur2=cur2.next;
//            head=cur2.next;
//        }
//        if(head!=null){
//            cur1.next=head;
//            cur1=cur1.next;
//        }
//        cur2.next=null;
//        cur1.next=newhead2.next;
//        return newhead1.next;
//    }
//}









//环形链表的约瑟夫问题
//import java.util.*;
//public class Solution {
//    /**
//     *
//     * @param n int整型
//     * @param m int整型
//     * @return int整型
//     */
//    public int ysf (int n, int m) {
//        // write code here
//        int res=0;
//        for(int i=2;i<=n;i++){
//            res=(res+m)%i;
//        }
//        return res+1;
//    }
//}